package com.leyou.item.service;

import com.leyou.common.dto.PageDTO;
import com.leyou.item.dto.SkuDTO;
import com.leyou.item.dto.SpecParamDTO;
import com.leyou.item.dto.SpuDTO;
import com.leyou.item.dto.SpuDetailDTO;
import com.leyou.item.entity.SpecParam;

import java.util.List;

public interface GoodsService {

    PageDTO pageQuery(Integer rows, Integer page, Long brandId, Long categoryId, Boolean saleable, Long id);

    List<SkuDTO> listSkuBySpu(Long spuId);

    List<SkuDTO> listSkuByIds(List<Long> ids);

    SpuDetailDTO findSpuDetailBySpu(Long spuId);

    SpuDTO findSpuById(Long id);

    SpuDTO findGoodsById(Long id);

    List<SpecParamDTO> findSpecParamWithValueBySpu(Long spuId, Boolean searching);

    void addGoods(SpuDTO spuDTO);

    void modifySaleable(Long id, Boolean saleable);

    void updateGoods(SpuDTO spuDTO);
}
